package servlets;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.sun.org.apache.xerces.internal.util.XML11Char;

import dto.ArticuloDTO;
import dto.ArticuloHogarDTO;
import dto.ArticuloRopaDTO;
import dto.xml.XMLArticuloRopaDTO;
import dto.xml.XMLDetallesRopaDTO;

import business.LaCorunaDelegator;

/**
 * Servlet implementation class for Servlet: NuevoArticulo
 *
 */
 public class NuevoArticulo extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
   static final long serialVersionUID = 1L;
   private static final String ARTICULOS_PAGE = "/WEB-INF/jsp/listado_articulos.jsp";
    /* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#HttpServlet()
	 */
	public NuevoArticulo() {
		super();
	}   	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		LaCorunaDelegator delegator = LaCorunaDelegator.getInstance();
		/*Parameters*/
		String ref = request.getParameter("ref");
		String nombre = request.getParameter("nombre");
		String descripcion = request.getParameter("descripcion");
		String linea = request.getParameter("linea");
		String color = request.getParameter("color");
		String seccion = request.getParameter("seccion");
		String precio = request.getParameter("precio");
		String tipo = request.getParameter("tipo");
		String origen = request.getParameter("origen");
		String talle = request.getParameter("talle");
		String composicion = request.getParameter("composicion");
		String medidas = request.getParameter("medidas");
		String categoria = request.getParameter("categoria");
		float precio_float= Float.parseFloat(precio);
		ArticuloDTO nuevo;

		if(tipo.equalsIgnoreCase("ropa")){
			nuevo= new ArticuloRopaDTO(Integer.parseInt(ref), linea, descripcion,
					color, seccion, precio_float, nombre,
					talle, origen);

		}else{
			nuevo= new ArticuloHogarDTO(Integer.parseInt(ref), linea, descripcion,
					color, seccion, precio_float, nombre,
					composicion, medidas, categoria);
		}
		
		String mensaje;
		if(delegator.nuevoArticulo(nuevo)){
			mensaje= "Producto creado correctamente";
			//aca es como hacer @articulos= Articulo.all en ruby
		}else{
			mensaje= "Ha ocurrido un error al crear el producto";
		}
		List<ArticuloDTO> articulos= delegator.getArticulos();
		request.setAttribute("articulos", articulos);
		request.setAttribute("mensaje", mensaje);
		getServletContext().getRequestDispatcher(ARTICULOS_PAGE).forward(request, response);
	}  	
	
	/* (non-Java-doc)
	 * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response); 	 
	}
		
}